home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2006 May / PCWMAY06.iso / Software / Trial / ConceptDraw NetDiagrammer / data1.cab / Samples__Basic / SimpleDrawing / DrawPolygon / DrawPolygon.cdb next >
Text File  |  2006-02-08  |  4KB  |  45 lines

  1. Sub DrawPolygon()
  2.     Dim new_Polygon As Shape    '╨í╤ü╤ï╨╗╨║╨░ ╨╜╨░ ╨╛╨▒╤è╨╡╨║╤é-╤ê╤ì╨╣╨┐, ╨┐╤Ç╨╡╨┤╤ü╤é╨░╨▓╨╗╤Å╤Ä╤ë╨╕╨╣ ╨╜╨╛╨▓╤ï╨╣ ╨┐╨╛╨╗╨╕╨│╨╛╨╜.
  3.     Dim line_color as Color        '╨ª╨▓╨╡╤é ╨┐╨╛╨╗╨╕╨│╨╛╨╜╨░.
  4.      
  5.     '╨₧╤ç╨╕╤ü╤é╨╕╤é╤î ╨┤╨╛╨║╤â╨╝╨╡╨╜╤é ╨╛╤é ╨▓╤ü╨╡╤à ╨╜╨░╤à╨╛╨┤╤Å╤ë╨╕╤à╤ü╤Å ╨▓ ╨╜╨╡╨╝ ╤ü╨╡╨╣╤ç╨░╤ü ╤ê╤ì╨╣╨┐╨╛╨▓.
  6.     thisDoc.ActivePage.RemoveAllShapes()
  7.     '╨í╨╛╨╖╨┤╨░╨╡╨╝ ╤ê╤ì╨╣╨┐, ╨╕╨╖╨╛╨▒╤Ç╨░╨╢╨░╤Ä╤ë╨╕╨╣ ╨┐╨╛╨╗╨╕╨│╨╛╨╜.
  8.     '╨ƒ╨╛╤ü╤é╤Ç╨╛╨╡╨╜╨╕╨╡ ╤ê╤ì╨╣╨┐╨░ ╨┐╤Ç╨╛╨╕╤ü╤à╨╛╨┤╨╕╤é ╨╝╨╡╨╢╨┤╤â ╨┤╨▓╤â╨╝╤Å ╤ä╤â╨╜╨║╤å╨╕╤Å╨╝╨╕, ╨╛╨▒╤è╤Å╨▓╨╗╤Å╤Ä╤ë╨╕╨╝╨╕ ╨╛ ╨╜╨░╤ç╨░╨╗╨╡ 
  9.     '╤ü╨╛╨╖╨┤╨░╨╜╨╕╤Å ╤ê╤ì╨╣╨┐╨░ (╨╝╨╡╤é╨╛╨┤ BeginShape ╨╛╨▒╤è╨╡╨║╤é╨░ Page) ╨╕ ╨╛ ╨╖╨░╨▓╨╡╤Ç╤ê╨╡╨╜╨╕╨╕ ╨╡╨│╨╛ ╤ü╨╛╨╖╨┤╨░╨╜╨╕╤Å
  10.     '(╨╝╨╡╤é╨╛╨┤ EndShape ╨╛╨▒╤è╨╡╨║╤é╨░ Page). ╨í╤ü╤ï╨╗╨║╨░ ╨╜╨░ ╤ü╤é╤Ç╨╛╤Å╤ë╨╕╨╣╤ü╤Å ╨╛╨▒╤è╨╡╨║╤é ╨┐╤Ç╨╕╤ü╨▓╨░╨╕╨▓╨░╨╡╤é╤ü╤Å 
  11.     '╨┐╨╡╤Ç╨╡╨╝╨╡╨╜╨╜╨╛╨╣ new_Polygon.
  12.     '╨ƒ╨╛╤ü╤é╤Ç╨╛╨╡╨╜╨╕╨╡ ╨╛╨▒╤è╨╡╨║╤é╨░ ╨┐╤Ç╨╛╨╕╤ü╤à╨╛╨┤╨╕╤é ╨╜╨░ ╨░╨║╤é╨╕╨▓╨╜╨╛╨╣ ╤ü╤é╤Ç╨░╨╜╨╕╤å╨╡ ╨┤╨░╨╜╨╜╨╛╨│╨╛ ╨┤╨╛╨║╤â╨╝╨╡╨╜╤é╨░ thisDoc.ActivePage
  13.     Set new_Polygon = thisDoc.ActivePage.BeginShape() 
  14.     new_Polygon.PenWeight = 28
  15.     new_Polygon.PenPattern = 1
  16.     '╨ƒ╨╛╨╗╤â╤ç╨░╨╡╨╝ ╤ü╤ü╤ï╨╗╨║╤â ╨╜╨░ ╨╛╨▒╤è╨╡╨║╤é Color, ╤ü╨╛╨┤╨╡╤Ç╨╢╨░╤ë╨╕╨╣ ╨╕╨╜╤ä╨╛╤Ç╨╝╨░╤å╨╕╤Ä ╨╛ ╤å╨▓╨╡╤é╨╡ ╨╗╨╕╨╜╨╕╨╕ Shap'╨░.
  17.     Set line_color = new_Polygon.PenColor
  18.     '╨ú╤ü╤é╨░╨╜╨░╨▓╨╗╨╕╨▓╨░╨╡╨╝ ╤å╨▓╨╡╤é ╨╗╨╕╨╜╨╕╨╕ ╨╛╨▒╤è╨╡╨║╤é╨░, ╨╕╤ü╨┐╨╛╨╗╤î╨╖╤â╤Å ╨╕╨╜╨┤╨╡╨║╤ü╨╜╨╛╨╡ ╨┐╤Ç╨╡╨┤╤ü╤é╨░╨▓╨╗╨╡╨╜╨╕╨╡ ╤å╨▓╨╡╤é╨░.
  19.     '╨ƒ╨╛╤ü╨╗╨╡ ╨▓╤ï╨┤╨╡╨╗╨╡╨╜╨╕╤Å ╤å╨╡╨╗╨╛╨╣ ╤ç╨░╤ü╤é╨╕ ╨▓╤ï╤Ç╨░╨╢╨╡╨╜╨╕╤Å Rnd()* 256, ╨╖╨╜╨░╤ç╨╡╨╜╨╕╨╡ ╨▒╤â╨┤╨╡╤é ╤Å╨▓╨╗╤Å╤é╤î╤ü╤Å
  20.     '╤å╨╡╨╗╤ï╨╝ ╤ç╨╕╤ü╨╗╨╛╨╝ ╨▓ ╨┤╨╕╨░╨┐╨░╨╖╨╛╨╜╨╡ ╨╛╤é 0 ╨┤╨╛ 255. ╨₧╨┤╨╜╨░╨║╨╛ ╤ä╨░╨║╤é╨╕╤ç╨╡╤ü╨║╨╕ Int( Rnd()* 256)
  21.     '╨╕╨╝╨╡╨╡╤é ╤é╨╕╨┐ Double. ╨¥╨╡╤Å╨▓╨╜╨╛╨╡ ╨┐╤Ç╨╡╨╛╨▒╤Ç╨░╨╖╨╛╨▓╨░╨╜╨╕╨╡ ╤ì╤é╨╛╨│╨╛ ╨▓╤ï╤Ç╨░╨╢╨╡╨╜╨╕╤Å ╨║ ╤å╨╡╨╗╨╛╨╝╤â ╤é╨╕╨┐╤â ╨┐╤Ç╨╕ 
  22.     '╨┐╤Ç╨╕╤ü╨▓╨░╨╕╨▓╨░╨╜╨╕╨╕ ╨┐╤Ç╨╛╨╕╨╖╨▓╨╛╨┤╨╕╤é╤ü╤Å ╨░╨▓╤é╨╛╨╝╨░╤é╨╕╤ç╨╡╤ü╨║╨╕. 
  23.     Randomize
  24.     line_color.Index = Int( Rnd()* 256)
  25.     '╨ù╨░╨┤╨░╨╡╨╝ ╨║╨╛╨╛╤Ç╨┤╨╕╨╜╨░╤é╤ï ╨╜╨░╤ç╨░╨╗╨░ ╨┐╨╛╨╗╨╕╨│╨╛╨╜╨░ ╨╛╤é╨╜╨╛╤ü╨╕╤é╨╡╨╗╤î╨╜╨╛ ╤ü╤é╤Ç╨░╨╜╨╕╤å╤ï.
  26.     new_Polygon.MoveTo(100, 100)
  27.     '╨ù╨░╨┤╨░╨╡╨╝ ╨║╨╛╨╛╤Ç╨┤╨╕╨╜╨░╤é╤ï ╨║╨╛╨╜╤å╨░ ╨┐╨╡╤Ç╨▓╨╛╨│╨╛ ╨╛╤é╤Ç╨╡╨╖╨║╨░. ╨ƒ╨╛╤ü╨║╨╛╨╗╤î╨║╤â ╨╝╨╡╤é╨╛╨┤ LineTo ╨▓╤ï╨╖╤ï╨▓╨░╨╡╤é╤ü╤Å ╨┤╨╗╤Å 
  28.     '╨╛╨▒╤è╨╡╨║╤é╨░ Shape, ╨║╨╛╨╛╤Ç╨┤╨╕╨╜╨░╤é╤ï ╤Å╨▓╨╗╤Å╤Ä╤é╤ü╤Å ╨╛╤é╨╜╨╛╤ü╨╕╤é╨╡╨╗╤î╨╜╤ï╨╝╨╕ ╨║╨╛╨╛╤Ç╨┤╨╕╨╜╨░╤é╨░╨╝╨╕ Shape. ╨¥╨░╤ç╨░╨╗╨╛
  29.     '╨╛╤é╨╜╨╛╤ü╨╕╤é╨╡╨╗╤î╨╜╨╛╨╣ ╤ü╨╕╤ü╤é╨╡╨╝╤ï ╨║╨╛╨╛╤Ç╨┤╨╕╨╜╨░╤é ╨╗╨╡╨╢╨╕╤é ╨▓ ╨┐╨╡╤Ç╨▓╨╛╨╣ ╤é╨╛╤ç╨║╨╡ Shape, ╨╛╨┐╤Ç╨╡╨┤╨╡╨╗╨╡╨╜╨╜╨╛╨╣ ╨┐╨╡╤Ç╨▓╤ï╨╝ 
  30.     '╨▓╤ï╨╖╨╛╨▓╨╛╨╝ MoveTo, ╤é╨╛ ╨╡╤ü╤é╤î (100,100 ).
  31.     new_Polygon.LineTo(500, 500)
  32.     Do
  33.         'C╤é╤Ç╨╛╨╕╨╝ ╨╜╨╛╨▓╤ï╨╣ ╤ü╨╡╨│╨╝╨╡╨╜╤é ╨╛╤é ╤é╨╡╨║╤â╤ë╨╡╨╣ ╤é╨╛╤ç╨║╨╕, ╨╖╨░╨┤╨░╨╜╨╜╨╛╨╣ ╨┐╤Ç╨╕ ╨┐╤Ç╨╡╨┤╤ï╨┤╤â╤ë╨╡╨╝ ╨▓╤ï╨╖╨╛╨▓╨╡ ╨╝╨╡╤é╨╛╨┤╨░ 
  34.         'LineTo. ╨Ü╨╛╨╛╤Ç╨┤╨╕╨╜╨░╤é╤ï ╤ü╨╗╨╡╨┤╤â╤Ä╤ë╨╡╨╣ ╤é╨╛╤ç╨║╨╕ ╨▓╤ï╨▒╨╕╤Ç╨░╤Ä╤é╤ü╤Å ╤ü╨╗╤â╤ç╨░╨╣╨╜╤ï╨╝ ╨╛╨▒╤Ç╨░╨╖╨╛╨╝.
  35.         '╨Æ╤ü╨╡ ╤ü╨╡╨│╨╝╨╡╨╜╤é╤ï ╤Å╨▓╨╗╤Å╤Ä╤é╤ü╤Å ╤ç╨░╤ü╤é╤î╤Ä ╨╡╨┤╨╕╨╜╤ü╤é╨▓╨╡╨╜╨╜╨╛╨╣ ╨│╨╡╨╛╨╝╨╡╤é╤Ç╨╕╨╕. ╨¡╤é╨░ ╤ü╨▓╤Å╨╖╨╜╨╛╤ü╤é╤î ╨┤╨╛╤ü╤é╨╕╨│╨░╨╡╤é╤ü╤Å ╤é╨╡╨╝, 
  36.         '╤ç╤é╨╛ ╨▓╤ü╨╡ ╨╛╨┐╨╡╤Ç╨░╤å╨╕╨╕ ╨┐╨╛╤ü╤é╤Ç╨╛╨╡╨╜╨╕╤Å ╨┐╤Ç╨╛╨╕╤ü╤à╨╛╨┤╤Å╤é ╨▓╨╜╤â╤é╤Ç╨╕ ╨╛╨┤╨╜╨╛╨╣ ╨┐╨░╤Ç╤ï ╤ä╤â╨╜╨║╤å╨╕╨╣ BeginShape()-EndShape().
  37.         new_Polygon.LineTo(Rnd()*1900,Rnd()*2770)
  38.     '╨ª╨╕╨║╨╗ ╨┐╨╛╤ü╤é╤Ç╨╛╨╡╨╜╨╕╤Å ╨▓╤ï╨┐╨╛╨╗╨╜╤Å╨╡╤é╤ü╤Å ╨┤╨╛ ╤é╨╡╤à ╨┐╨╛╤Ç, ╨┐╨╛╨║╨░ ╨┐╨╛╨╗╤î╨╖╨╛╨▓╨░╤é╨╡╨╗╤î ╨╜╨╡ ╨╜╨░╨╢╨╝╨╡╤é ╨║╨╜╨╛╨┐╨║╤â Cancel ╨▓ 
  39.     '╨╛╤é╨▓╨╡╤é ╨╜╨░ ╤ü╨╛╨╛╤é╨▓╨╡╤é╤ü╤é╨▓╤â╤Ä╤ë╨╕╨╣ ╨▓╨╛╨┐╤Ç╨╛╤ü.
  40.     Loop While ( MsgBox("One more segment?", cdbOKCancel) = cdbOK)    
  41.     thisDoc.ActivePage.EndShape()    
  42. End Sub
  43.  
  44.  
  45.